package com.jkl.entity.drIndex;


import javax.persistence.*;

import org.apache.ibatis.type.JdbcType;

import com.jkl.entity.drIndexFormula.DrIndexFormula;
import com.jkl.entity.drTemplateDetail.DrTemplateDetail;
import com.jkl.entity.person.BsPerson;

import lombok.Data;
import lombok.experimental.Accessors;
import tk.mybatis.mapper.annotation.ColumnType;

@Data
@Accessors(chain = true)
@Table(name = "dr_index")
public class DrIndex {
    /**
     * 主键ID，唯一
     */
    @Id
    @Column(name = "row_id")
    @ColumnType(jdbcType = JdbcType.INTEGER)
    @GeneratedValue(strategy=GenerationType.IDENTITY,generator="Mysql")
    private Integer rowId;

    /**
     * 指标编码，研发统一定义，定义规则详见本表注释
     */
    @Column(name = "index_code")
    private String indexCode;

    /**
     * 指标名称
     */
    @Column(name = "index_name")
    private String indexName;

    /**
     * 指标类型：1单一指标，2复合指标
     */
    private String type;

    /**
     * 复合指标级别：1一级复合，2二级复合，3三级复合，依次类推。
     */
    @Column(name = "type_level")
    private String typeLevel;

    /**
     * 指标级别：1省级指标，2市级指标，3区县级指标
     */
    private String level;

    /**
     * 指标环节：读取bs_param表参数
     */
    private String link;

    /**
     * 指标周期：读取bs_param表参数
     */
    private String cycle;

    /**
     * 计量单位
     */
    private String unit;

    /**
     * 指标说明
     */
    private String remark;

    /**
     * 是否手工填报：1是，0否
     */
    @Column(name = "is_hand")
    private String isHand;

    /**
     * 操作员ID
     */
    @Column(name = "person_id")
    private Integer personId;
    /**
     * 数据类型1.数字2.字符串
     */
    @Column(name = "data_type")
    private String dataType;
    
    /**
     * 操作时间，格式为yyyymmddhhmmss
     */
    @Column(name = "oper_time")
    private String operTime;

    /**
     * 状态：1启用，0停用
     */
    private String status;

    /**
     * 该指标可使用范围； 0:表内使用；1:可跨表引用
     */
    private Integer scope;
    
    @Column(name = "source")
    private String source;
    
    @Transient
    private DrIndexFormula drIndexFormula;
    
    @Transient
    private int pageSize;

    @Transient
    private int currentPage;
    
    @Transient
    private BsPerson bsPerson;
    
    @Transient
    private DrTemplateDetail drTemplateDetail;
   
}